package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 说明 : 投诉实体
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "投诉信息表-实体")
@TableName("bs_complain")
public class BsComplain extends BaseEntity {

    private static final long serialVersionUID = 3846430867242914839L;
    /**
     * id
     */
    @Excel(name = "投诉id")
    @ApiModelProperty(value = "投诉id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 投诉类型
     */
    @Excel(name = "投诉类型")
    @ApiModelProperty(value = "投诉类型")
    private String type;
    /**
     * 事发地址
     */
    @Excel(name = "事发地址")
    @ApiModelProperty(value = "事发地址")
    private String address;
    /**
     * 投诉对象
     */
    @Excel(name = "投诉对象")
    @ApiModelProperty(value = "投诉对象")
    private String complainFor;
    /**
     * 投诉原因
     */
    @Excel(name = "投诉原因")
    @ApiModelProperty(value = "投诉原因")
    private String complainReason;
    /**
     * 投诉上传图片
     */
    @Excel(name = "投诉上传图片")
    @ApiModelProperty(value = "投诉上传图片")
    private String complainImg;
    /**
     * 投诉联系人
     */
    @Excel(name = "投诉联系人")
    @ApiModelProperty(value = "投诉联系人")
    private String complainName;
    /**
     * 投诉联系电话
     */
    @Excel(name = "投诉联系电话")
    @ApiModelProperty(value = "投诉联系电话")
    private String complainPhone;
    /**
     * 处理-投诉类型 0无理投诉 1有理投诉
     */
    @Excel(name = "处理-投诉类型 0无理投诉 1有理投诉")
    @ApiModelProperty(value = "处理-投诉类型 0无理投诉 1有理投诉")
    private String handleComplainType;
    /**
     * 处理-是否已回访 0未回访 1已回访
     */
    @Excel(name = "处理-是否已回访 0未回访 1已回访")
    @ApiModelProperty(value = "处理-是否已回访 0未回访 1已回访")
    private String handleReturnVisit;
    /**
     * 处理-备注
     */
    @Excel(name = "处理-备注")
    @ApiModelProperty(value = "处理-备注")
    private String handleRemark;
    /**
     * 处理-处理结果 0满意 1一般 2不满意
     */
    @Excel(name = "处理-处理结果 0满意 1一般 2不满意")
    @ApiModelProperty(value = "处理-处理结果 0满意 1一般 2不满意")
    private String handleResult;
    /**
     * 处理-是否需要再次处理 0不需要 1需要
     */
    @Excel(name = "处理-是否需要再次处理 0不需要 1需要")
    @ApiModelProperty(value = "处理-是否需要再次处理 0不需要 1需要")
    private String handleNeedAgain;
    /**
     * 处理-处理人
     */
    @Excel(name = "处理-处理人")
    @ApiModelProperty(value = "处理-处理人")
    private String handleBy;
    /**
     * 处理-处理状态 0待处理 1需跟进 2已处理
     */
    @Excel(name = "处理-处理状态 0待处理 1需跟进 2已处理")
    @ApiModelProperty(value = "处理-处理状态 0待处理 1需跟进 2已处理")
    private String handleStatus;
    /**
     * 处理-处理时间
     */
    @Excel(name = "处理-处理时间")
    @ApiModelProperty(value = "处理-处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;
    /**
     * 逻辑删除字段 0：正常 1：删除
     */
    @Excel(name = "逻辑删除字段 0：正常 1：删除")
    @ApiModelProperty(value = "逻辑删除字段 0：正常 1：删除")
    @TableLogic(value = "0", delval = "1")
    private String delFlag;

    /**
     * 说明 : 创建人id
     */
    @TableField(value = "create_by_id", fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人id")
    private Long createById;

}
